package dao.v2;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import model.AddressVO;
import model.GoodLimitVO;
import model.GoodStandardVO;
import model.GoodVO;
import model.LogOrder;
import model.OrderCaseVO;
import model.OrderGoodVO;
import model.OrderTimer;
import model.OrderVO;
import model.PromotionVO;
import model.RefuseReasonVO;
import model.StandardVO;

public interface OrderVOMapper {

  List<OrderVO> getList(OrderVO orderVO);
  
  String selectOrderNo(@Param("order_id")String order_id);
  
  int getStateNum(@Param("member_id")String member_id, @Param("state")int state);
  
  List<OrderVO> getAllOrderListByMemberId(OrderVO orderVO);
  
  List<OrderVO> getAllOrderListByMemberIdTwoState(OrderVO orderVO);
  
  List<GoodVO>  getGoodbyOrderId(String ord_id);

  String getGoodStandardNameByOrdId(String ord_id);
  
  int getTotal(OrderVO orderVO);
  
  int getTotalTwoState(OrderVO orderVO);
  
  
  OrderVO getOrderConfirm(String order_id);
  
  AddressVO getAdressById(String address_id);
  
  OrderVO getUnPayCancel(String order_id);
  
  OrderVO getOrderDealCancelOnMain(String order_id);
  
  String getGoodIdByOrderId(String order_id);
  
  String getGoodStandardTitleByID(String good_standard_id);
  
  String getGoodStandardSellPriceByID(String good_standard_id);
  
  String  getGoodlistbyorder(String order_id);
  
  String  getGoodNameByID(String good_id);
  
  OrderVO getOrderUnpaid(String order_id);
  
  OrderVO getOrderUnsend(String order_id);
  
  OrderVO getOrderUnReceived(String order_id);
  
  OrderVO getOrderSuccess(String order_id);
  
  String getGoodImgByID(String good_id);
  
  int judgeState(@Param("order_id")String order_id,@Param("order_state")String order_state);
  
  void updOrderUnpaidToCancel(String order_id);
  
  void updOrderLogPaidCancel(LogOrder log_ord);
  
  void updOrder(OrderVO  ord);
  
  void InsertLogOrder(LogOrder log_ord);
  
  List<LogOrder> getOrderLogByOrderId(@Param("order_id")String order_id,@Param("type")String type);
  
  String getTotalPriceByOrdId(String order_id);
  
  void deleteLogOrderByOrderId(String order_id);
  
  OrderVO getOrderPaidCancel(String order_id);
  
  String getTotalPriceByOrderId(String order_id);
  
  void updOrderPayMethod(OrderVO order);
  
  List<RefuseReasonVO> getAllRefuseMsg(String refuseReasonPid);
  
  OrderVO getOrderDetails(String order_id);
  
  List<OrderGoodVO> getOrderGoodByOrderId(String order_id);
  
  String getTotalSellPrice(String order_id);
  
  List<OrderTimer>  getTimerOrder(@Param("member_id")String member_id,@Param("order_id")String order_id);
  
  void updOrderStateOverPayTime(@Param("member_id")String member_id,@Param("order_id")String order_id);
  
  void updOrderStateOverRecieveTime(@Param("member_id")String member_id,@Param("order_id")String order_id);

  String getOrderTime(@Param("id")String id,@Param("state")String state);
  
  void updStandardNum(@Param("standard_id")String standard_id ,@Param("num")String num);
  
  void updOrderTimerYn(@Param("order_time_id")String order_time_id,@Param("open_yn")String open_yn);
  
  int updOrderState(@Param("order_id")String order_id,@Param("state")String state,@Param("org_state")String org_state);
  
  int updOrderStateAndRecieveTime(@Param("order_id")String order_id,@Param("state")String state);
  
  int delOrderTimer(String order_time_id);
  
  void delOrderTimerByorderId(@Param("order_id")String order_id,@Param("type")String type);
  
  void updOrderTimerTime(@Param("order_time_id")String order_time_id,@Param("new_time")String new_time);
  
  String getCompanyName(String order_id);
  
  List<LogOrder> getCencalOrderLog(String order_id);
  
  void OrderDelete(String order_id);
  
  String getTotalPriceByPayNo(@Param("order_id_List")String[] order_id_List,@Param("member_id")String member_id);
  
  String getTotalTicketByPayNo(@Param("order_id_List")String[] order_id_List,@Param("member_id")String member_id);
  
  int updorderPay(@Param("pay_type")String pay_type, @Param("order_id_List")String[] order_id_List,@Param("member_id")String member_id);
  
  int updMemberCash(@Param("pay_type")String pay_type,@Param("total_price")String total_price,@Param("member_id")String member_id,@Param("country")String country);
  
  int getOrderCount(@Param("order_id_List")String[] order_id_List, @Param("member_id")String member_id);
  
  int stopOrderPayTimerByPayNo(@Param("order_id_List")String[] order_id_List);
  
  OrderVO getOrderAddressByPayNo(@Param("order_id_List")String[] order_id_List);
  
  OrderVO getOrderById(String id);
  
  double getBackPrice(@Param("order_good_id")String order_good_id,@Param("num")String num);
  
  String getTotalTicketByOrderId(String order_id);
  
  String getToTalStandardTicket(String order_id);
  
  int checkOrderPayState(@Param("order_id_List")String[] order_id_List);
  
  String getToTalpackageTicket(String package_id);
  
  int checkOrderBackState(String order_id);
  
  List<OrderVO> getSimpleOrderByIdList(@Param("order_id_List")String[] order_id_List);
  
  void updateStoreSellNum(@Param("good_id")String good_id,@Param("num")String num);
  
  String getOrderBackSumPrice(@Param("out_trade_no")String out_trade_no);
  
  OrderTimer getReviceTimerByIdType(@Param("order_id")String order_id, @Param("type")String type);
  
  List<String> getRealPayOrderId(@Param("order_id_List")String[] order_id_list);
  
  StandardVO getStandardById(String standard_id);
  
  List<OrderVO> getAdminDealOrder(@Param("timer_status")String timer_status);

  String getOrderGoodName(String id);
  
  List<GoodStandardVO> getPlaceOrderStandardById(@Param("standard_id")String standard_id,@Param("level")String level);
  
  List<GoodStandardVO> PlaceOrderStandardByCartId(@Param("cart_id")String[] id,@Param("level")String level);
  
  void insertOrderCase(OrderCaseVO orderCase);
  
  void addOrderGood(OrderGoodVO orderGoodVO);
  
  void updTest();

  double getDepositRate(@Param("member_id")String id);

GoodLimitVO getGoodLimitByGoodId(@Param("good_id")String good_id);

int updLimitNum(@Param("good_id")String good_id, @Param("buy_num")String buy_num);

int updGoodLimitState(@Param("good_id")String good_id);

int updGoodLimitNum(@Param("order_id")String order_id, @Param("good_id")String good_id, @Param("num")String num);

String getLevelStrByMemberId(String id);

}